import url  from "@/common/url.js";
import requestConfig  from "@/config/request.js";

const install = (Vue, vm) => {
	
	uni.$u.api={};
	
	// 定义一个函数，用于创建API请求方法
	const requestApi = (method, name, paramsKey) => {
	    // 将该函数添加到 uni.$u.api 对象中，作为其属性
	    uni.$u.api[name] = (params = {}, config = {}) => {
	        // 合并全局配置和局部配置
	        const finalConfig = { ...requestConfig, ...config };
	        // 获取URL参数
	        let urlParams = url.dl(paramsKey);
	
	        // 拼接查询参数（仅 GET 和 UPLOAD 请求需要）
	        if (method === 'get' || method === 'upload') {
	            urlParams += '&' + uni.$u.queryParams(params, false);
				return uni.$u.http[method](urlParams,finalConfig);
	        }else if (method === 'request' || method === 'middleware') {
	            return uni.$u.http[method](finalConfig); 	// 无需 URL 和参数，只使用配置
	        } else {
	            return uni.$u.http[method](urlParams,params,finalConfig);
	        }
	    }
	}
	
	//========================【基本接口】===============================
	
	// 获取轮播图列表
	requestApi('get', 'swiperList', 'common/slide/lists');
	
	// 首页配置
	requestApi('post', 'homeConfig', 'common/home');
	
	// 首页DIY
	requestApi('post', 'homePage', 'common/home_page');
	
	// 获取城市门店列表
	requestApi('get', 'cityStoreList', 'common/store');
	
	// 地址获取接口
	requestApi('post', 'mapLocation', 'map/location');
	
	// 地址搜索接口
	requestApi('post', 'mapSearch', 'map/search');
	
	// 电子围栏坐标检测
	requestApi('post', 'mapCheck', 'map/check');
	
	// 全局配置接口
	requestApi('get', 'getConfig', 'common/conf');
	
	// 平台配置信息-内容接口
	requestApi('get', 'configContent', 'common/config_content');
	
	// 图片上传接口
	requestApi('post', 'uploadImg', 'common/file/images');
	
	// 图片删除接口
	requestApi('post', 'fileDelete', 'common/file/del');
	
	// 分享接口
	requestApi('post', 'share', 'common/share');
	
	// 分享下单接口
	requestApi('post', 'orderShareID', 'order/share');
	
	// 分享下单接收接口
	requestApi('post', 'orderShareInfo', 'order/receive');

	//========================【车辆接口】==========================================
	
	// 车辆列表接口
	requestApi('post', 'carList', 'car/choose');
	
	// 车辆筛选条件接口
	requestApi('get', 'carFilter', 'car/heads');
	
	// 车辆详细接口
	requestApi('post', 'carInfo', 'car/details');
	
	// 增值服务接口
	requestApi('get', 'increment', 'car/increment');
	
	// 预定下单接口
	requestApi('post', 'carOrder', 'car/create_order');
	
	// 计算金额接口
	requestApi('post', 'calMoney', 'car/calculate');
	
	// 车辆价格日历接口
	requestApi('get', 'calDatePrice', 'car/price');
	
	
	//========================【订单接口】==========================================
	
	// 订单创建接口
	requestApi('post', 'orderCreate', 'order/create');
	
	// 签名接口
	requestApi('post', 'orderSign', 'order/sign');
	
	//上传身份图片接口
	requestApi('post', 'readIdCard', 'order/upload');
	
	//订单租客身份信息确认接口
	requestApi('post', 'tenantConfirm', 'order/tenant/confirm');
	
	// 订单支付接口
	requestApi('post', 'orderPay', 'order/pays');
	
	// 线下银行列表接口
	requestApi('get', 'bankList', 'order/finance/bank_list');
	
	// 订单线下支付接口
	requestApi('post', 'financePay', 'order/finance/pay_order');
	
	// 订单申请修改价格接口
	requestApi('post', 'applyDiscount', 'order/apply_discount');
	
	// 订单取消接口
	requestApi('post', 'orderCancel', 'order/cancel');
	
	// 订单删除接口
	requestApi('post', 'orderDelete', 'order/del');
	
	// 订单数量列表接口
	requestApi('get', 'orderCount', 'order/get_count');
	
	// 订单列表接口
	requestApi('post', 'orderList', 'order/lists');
	
	// 订单详细接口
	requestApi('post', 'orderInfo', 'order/details');
	
	// 订单取车时上传图片接口
	requestApi('post', 'uploadGain', 'order/uploads/gain');
	
	// 订单还车时上传图片接口
	requestApi('post', 'uploadBack', 'order/uploads/back');
	
	// 订单评价
	requestApi('post', 'commentAdd', 'order/comment/add');
	
	// 订单评价配置信息
	requestApi('get', 'commentConfig', 'order/comment/config');
	
	// 订单评价列表接口
	requestApi('post', 'commentList', 'order/comment/lists');
	
	// 订单售后申请
	requestApi('post', 'orderRefund', 'order/refund/apply');
	
	// 人脸识别参数
	requestApi('post', 'faceConfing', 'order/tenant/face');
	
	// 支付宝人脸识别接口
	requestApi('post', 'alipayFace', 'order/ali_face');
	
	// 微信人脸比对结果确认
	requestApi('post', 'wxFaceVerify', 'order/verify');
	
	// 微信人脸拍照识别接口
	requestApi('post', 'faceCameraVerify', 'order/face_verify');
	
	// 支付宝人脸比对结果确认
	requestApi('post', 'aliFaceVerify', 'order/ali_verify');
	
	// 订单免押授权接口
	requestApi('post', 'authPay', 'order/pay_auth');
	
	// 免押授权完成接口
	requestApi('post', 'backMianya', 'order/auth_finish');
	
	//========================【用户接口】==========================================
	
	// 获取Session key
	requestApi('get', 'getSessionKey', 'common/token/get_key');
	
	// 获取手机号
	requestApi('post', 'getMobile', 'common/token/get_phone');
	
	// 微信登录授权获取信息接口
	requestApi('post', 'wxLogin', 'user/wxapplogin');
	
	// 支付宝登录授权获取信息接口
	requestApi('post', 'aliappLogin', 'user/aliapplogin');
	
	// 获取用户信息
	requestApi('get', 'userInfo', 'user/info');
	
	// 发送验证码
	requestApi('post', 'userSms', 'user/sms');
	
	// 验证码登录
	requestApi('post', 'smsLogin', 'user/smslogin');
	
	// 绑定手机号
	requestApi('post', 'bindPhone', 'user/binding');
	
	// 租客列表信息接口
	requestApi('post', 'tenantList', 'user/tenant/lists');
	
	// 租客详细信息接口
	requestApi('post', 'tenantInfo', 'user/tenant/detail');
	
	// 获取默认租客信息接口
	requestApi('post', 'tenantDefault', 'user/tenant/defaults');
	
	// 增加租客信息接口
	requestApi('post', 'tenantAdd', 'user/tenant/add');
	
	// 修改租客信息接口
	requestApi('post', 'tenantUp', 'user/tenant/edit');
	
	// 删除租客信息接口
	requestApi('post', 'tanantDel', 'user/tenant/del');
	
	// 修改用户信息接口
	requestApi('post', 'userUp', 'user/editinfo');
	
	// 用户等级列表
	requestApi('get', 'userLevel', 'user/level/lists');
	
	// 创建用户等级订单
	requestApi('get', 'createLevelOrder', 'user/order/create');
	
	// 用户等级订单支付
	requestApi('get', 'levelOrderPay', 'user/order/pay');
	
	// 用户会员专属优惠券
	requestApi('get', 'userCoupon', 'user/coupon/lists');
	
	// 用户登录退出接口
	requestApi('post', 'loginOut', 'user/logout');
	
	// 充值支付接口
	requestApi('post', 'rechargePay', 'user/recharge/pay');
	
	// 充值选项接口
	requestApi('get', 'rechargeList', 'user/recharge/package');
	
	// 充值选项接口
	requestApi('get', 'rechargeLog', 'user/recharge/logs');
	
	//========================【常见问题接口】==========================================
	
	// 常见问题列表接口
	requestApi('get', 'articlesList', 'articles/lists');
	
	// 常见问题详细接口
	requestApi('post', 'articlesInfo', 'articles/detail');
	
	// 常见问题分类列表接口
	requestApi('post', 'articlesType', 'articles/type_list');
	
	//========================【分销接口】==========================================
	
	// 分销配置接口
	requestApi('get', 'agentConf', 'agent/conf');
	
	// 分销用户参数接口
	requestApi('get', 'agentInfo', 'agent/info');
	
	// 分销商申请接口
	requestApi('post', 'agentApply', 'agent/apply');
	
	// 获取下级用户列表接口
	requestApi('get', 'agentList', 'agent/lists');
	
	// 获取当日（今日）分销数据接口
	requestApi('get', 'agentToDay', 'agent/get_day');
	
	// 获取佣金数据接口
	requestApi('get', 'withdrawCount', 'agent/withdraw/get_count');
	
	// 佣金申请提现接口
	requestApi('post', 'withdrawApply', 'agent/withdraw/apply');
	
	// 分销金额明细接口
	requestApi('get', 'feeList', 'agent/fee_list');
	
	
	//========================【优惠券接口】==========================================
	
	// 获取可使用优惠券列表
	requestApi('post', 'couponUse', 'market/coupon/use_list');
	
	// 优惠券详细接口
	requestApi('post', 'couponInfo', 'market/coupon/detail');
	
	// 优惠券领取接口
	requestApi('post', 'couponReceive', 'market/coupon/receive');
	
	// 优惠券列表接口
	requestApi('post', 'couponList', 'market/coupon/lists');
	
	// 我的优惠券列表
	requestApi('post', 'couponUserList', 'market/coupon/user_list');
	
	// 优惠券检查
	requestApi('post', 'checkCoupon', 'order/coupon');
	
	// 优惠券弹窗回调
	requestApi('get', 'couponBack', 'common/pop');
	
	//========================【积分接口】==========================================
	
	// 积分列表
	requestApi('get', 'integralLog', 'user/points/logs');
}

export default {
	install
}